//该文件用于创建Vuex中最核心的store
import Vue from 'vue' //引入vue
import Vuex from 'vuex'//引入Vuex
Vue.use(Vuex)

//准备actions --用于响应组件中的动作
const actions = {
    // add(context,value) {
    //     context.commit('ADD',value)
    // },
    // dec(context,value) {
    //     context.commit('DEC',value)
    // },
    addOdd(context,value) {
        if(context.state.sum % 2){
            context.commit('ADD',value)
        }
    },
    addWait(context,value) {
        setTimeout(() => {
            context.commit('ADD',value)
        }, 3000);
    },
}
//准备mutations --用于操作数据
const mutations= {
    ADD(state,value){
        state.sum +=value
    },
    DEC(state,value){
        state.sum -=value
    }
}
//准备state --用于存储数据
const state = {
    sum:0,//当前的和
    school:'沂州大学',
    subject:'前端'
}

//全新配置项，返回一个基于共享数据的 结果  比如
const getters = {
    moreBig(state){
        return state.sum *10
    }
}
//暴露
export default  new Vuex.Store({
    actions,
    mutations,
    state,
    getters
});


